/**
 * 验收报告js
 * 
 * @auther YZG
 */


/**
 * 初始化日期时间控件
 */
function initDateTimeControls() {
	// 安装开始时间
	new Rolldate({
		el: '#installStartTime',
		format: 'YYYY-MM-DD hh:mm',
		beginYear: 2015,
		endYear: 2050,
		trigger: 'click',
		lang: {
			title: '请选择安装开始时间',
		},
		confirm: function(date) {
			// var installEndTime = h('#installEndTime').html()
			// if (installEndTime !== "请选择安装结束时间" && date !== installEndTime) {
			// 	var dateTime = stringYYYYMMDDHHMMToDate(date)
			// 	var dateEnd = stringYYYYMMDDHHMMToDate(installEndTime)
			// 	if (dateTime.getTime() > dateEnd.getTime()) {
			// 		app.toast("安装开始时间不能大于安装结束时间")
			// 		return false
			// 	}
			// }
		}
	})
	
	// 安装结束时间
	new Rolldate({
		el: '#installEndTime',
		format: 'YYYY-MM-DD hh:mm',
		beginYear: 2015,
		endYear: 2050,
		trigger: 'click',
		lang: {
			title: '请选择安装结束时间',
		},
		confirm: function(date) {
			// var installStartTime = h('#installStartTime').html()
			// if (installStartTime !== "请选择安装开始时间" && date !== installStartTime) {
			// 	var dateTime = stringYYYYMMDDHHMMToDate(date)
			// 	var dateEnd = stringYYYYMMDDHHMMToDate(installStartTime)
			// 	if (dateTime.getTime() < dateEnd.getTime()) {
			// 		app.toast("安装结束时间不能小于安装开始时间")
			// 		return false
			// 	}
			// }
		}
	})
	
	// 保修开始时间
	new Rolldate({
		el: '#warrantyStartTime',
		format: 'YYYY-MM-DD hh:mm',
		beginYear: 2015,
		endYear: 2050,
		trigger: 'click',
		lang: {
			title: '请选择保修开始时间',
		},
		confirm: function(date) {
			// var installEndTime = h('#warrantyEndTime').html()
			// if (installEndTime !== "请选择保修结束时间" && date !== installEndTime) {
			// 	var dateTime = stringYYYYMMDDHHMMToDate(date)
			// 	var dateEnd = stringYYYYMMDDHHMMToDate(installEndTime)
			// 	if (dateTime.getTime() > dateEnd.getTime()) {
			// 		app.toast("保修开始时间不能大于保修结束时间")
			// 		return false
			// 	}
			// }
		}
	})
	
	// 保修结束时间
	new Rolldate({
		el: '#warrantyEndTime',
		format: 'YYYY-MM-DD hh:mm',
		beginYear: 2015,
		endYear: 2050,
		trigger: 'click',
		lang: {
			title: '请选择保修结束时间',
		},
		confirm: function(date) {
			// var warrantyStartTime = h('#warrantyStartTime').html()
			// if (warrantyStartTime !== "请选择保修开始时间" && date !== warrantyStartTime) {
			// 	var dateTime = stringYYYYMMDDHHMMToDate(date)
			// 	var dateEnd = stringYYYYMMDDHHMMToDate(warrantyStartTime)
			// 	if (dateTime.getTime() < dateEnd.getTime()) {
			// 		app.toast("保修结束时间不能小于保修开始时间")
			// 		return false
			// 	}
			// }
		}
	})
	
	// 验收日期
	new Rolldate({
		el: '#acceptanceTime',
		format: 'YYYY-MM-DD hh:mm',
		beginYear: 2015,
		endYear: 2050,
		trigger: 'click',
		lang: {
			title: '请选择验收日期',
		},
		confirm: function(date) {
			
		}
	})
}

/**
 * 参数校验
 */
function parameterVerification() {
	
	// 安装开始时间
	var installStartTime = h('#installStartTime').html()
	if (!installStartTime || installStartTime === '请选择安装开始时间') {
		app.toast('请选择安装开始时间')
		return false
	}
	// 安装结束时间
	var installEndTime = h('#installEndTime').html()
	if (!installEndTime || installEndTime === '请选择安装结束时间') {
		app.toast('请选择安装结束时间')
		return false
	}
	if (stringYYYYMMDDHHMMToDate(installStartTime).getTime() > stringYYYYMMDDHHMMToDate(installEndTime).getTime()) {
		app.toast("安装结束时间不能小于安装开始时间")
		return false
	}
	// 保修开始时间
	var warrantyStartTime = h('#warrantyStartTime').html()
	if (!warrantyStartTime || warrantyStartTime === '请选择保修开始时间') {
		app.toast('请选择保修开始时间')
		return false
	}
	// 保修结束时间
	var warrantyEndTime = h('#warrantyEndTime').html()
	if (!warrantyEndTime || warrantyEndTime === '请选择保修结束时间') {
		app.toast('请选择保修结束时间')
		return false
	}
	if (stringYYYYMMDDHHMMToDate(warrantyStartTime).getTime() > stringYYYYMMDDHHMMToDate(warrantyEndTime).getTime()) {
		app.toast("保修结束时间不能小于保修开始时间")
		return false
	}
	// 验收时间
	var acceptanceTime = h('#acceptanceTime').html()
	if (!acceptanceTime || acceptanceTime === '请选择验收日期') {
		app.toast('请选择验收日期')
		return false
	}
	if (stringYYYYMMDDHHMMToDate(acceptanceTime).getTime() < stringYYYYMMDDHHMMToDate(installEndTime).getTime()) {
		app.toast("验收时间不能小于安装结束时间")
		return false
	}
	// 电脑厂家
	var computerMfr = h('#computerMfr').val();
	if (!computerMfr) {
		app.toast('请输入电脑厂家')
		return false
	}
	// 电脑型号
	var modelNumber = h('#modelNumber').val();
	if (!modelNumber) {
		app.toast('请输入电脑型号')
		return false
	}
	// 服务号
	var serviceNumber = h('#serviceNumber').val();
	if (!serviceNumber) {
		app.toast('请输入服务号')
		return false
	}
	// 系统软件
	var syssoft = h('#syssoft').val();
	if (!syssoft) {
		app.toast('请输入系统软件')
		return false
	}
	// 操作软件
	var softwares = h('#software').val();
	if (!softwares) {
		app.toast('请输入操作软件')
		return false
	}
	// // 选项软件
	// var optionSoftware = h('#optionSoftware').val();
	// if (!optionSoftware) {
	// 	app.toast('请输入选项软件')
	// 	return false
	// }
	
	return true
}

/**
 * 新增验收报告数据保存到草稿
 */
function addSaveData(callBack) {
	if (!app.getNetworkState()) {
		h('#saveBtn').removeAttr('disabled');
		h('#submitBtn').removeAttr('disabled');
		app.closeWaiting()
		app.toast("无网络")
		return
	}
	if (!parameterVerification()) {
		h('#saveBtn').removeAttr('disabled');
		h('#submitBtn').removeAttr('disabled');
		app.closeWaiting()
		return
	}
	var enginnerId = app.getUser().enginnerId
	var fseName = app.getUser().name
	var params = {
		serviceNo: h('#serviceNo').val(),
		installStartTime: h('#installStartTime').html(),
		installEndTime: h('#installEndTime').html(),
		warrantyStartTime: h('#warrantyStartTime').html(),
		warrantyEndTime: h('#warrantyEndTime').html(),
		acceptanceTime: h('#acceptanceTime').html(),
		computerMfr: h('#computerMfr').val(),
		modelNumber: h('#modelNumber').val(),
		serviceNumber: h('#serviceNumber').val(),
		software: h('#software').val(),
		optionSoftware: h('#optionSoftware').val(),
		syssoft: h('#syssoft').val(),
		planId: h('#planId').val(),
		noticeId: h('#noticeId').val(),
		enginnerId: enginnerId,
		fseName: fseName
	}
	
	var id = h('#id').val();
	if (!JS.IsNullOrEmpty(id)) {
		params.id = id;
	}
	console.log(JSON.stringify(params))
	ajaxPost(BASE_URL + 'cc/acceptance/report/addAcceptanceReport', params, function(data) {
		if (data.code === 200) {
			h('#id').val(data.data.batchType)
			if (typeof callBack === "function") {
				callBack()
			} else {
				app.closeWaiting()
				app.toast("保存成功")
				var workReportList = plus.webview.getWebviewById('view/service/report/work/workReportList.html')
				if (workReportList) {
					workReportList.evalJS("initData()")
				}
				mui.back()
			}
		} else {
			h('#saveBtn').removeAttr('disabled');
			h('#submitBtn').removeAttr('disabled');
			app.closeWaiting()
			app.toast(data.msg)
		}
	}, function(err) {
		h('#saveBtn').removeAttr('disabled');
		h('#submitBtn').removeAttr('disabled');
		app.closeWaiting()
		app.toast(err)
	})
}

/**
 * 修改数据
 * 
 * @param {Object} callBack
 */
function editSaveData(callBack) {
	if (!app.getNetworkState()) {
		h('#saveBtn').removeAttr('disabled');
		h('#submitBtn').removeAttr('disabled');
		app.closeWaiting()
		app.toast("无网络")
		return
	}
	if (!parameterVerification()) {
		h('#saveBtn').removeAttr('disabled');
		h('#submitBtn').removeAttr('disabled');
		app.closeWaiting()
		return
	}
	var enginnerId = app.getUser().enginnerId
	var fseName = app.getUser().name
	var params = {
		id: h('#id').val(),
		serviceNo: h('#serviceNo').val(),
		installStartTime: h('#installStartTime').html(),
		installEndTime: h('#installEndTime').html(),
		warrantyStartTime: h('#warrantyStartTime').html(),
		warrantyEndTime: h('#warrantyEndTime').html(),
		acceptanceTime: h('#acceptanceTime').html(),
		computerMfr: h('#computerMfr').val(),
		modelNumber: h('#modelNumber').val(),
		serviceNumber: h('#serviceNumber').val(),
		software: h('#software').val(),
		optionSoftware: h('#optionSoftware').val(),
		syssoft: h('#syssoft').val(),
		planId: h('#planId').val(),
		noticeId: h('#noticeId').val(),
		enginnerId: enginnerId,
		fseName: fseName
	}
	
	ajaxPost(BASE_URL + 'cc/acceptance/report/updateAcceptanceReport', params, function(data) {
		console.log(JSON.stringify(data))
		if (data.code === 200) {
			if (typeof callBack === "function") {
				callBack()
			} else {
				app.closeWaiting()
				app.toast("保存成功")
				var workReportList = plus.webview.getWebviewById('view/service/report/work/workReportList.html')
				if (workReportList) {
					workReportList.evalJS("initData()")
				}
				mui.back()
			}
		} else {
			h('#saveBtn').removeAttr('disabled');
			h('#submitBtn').removeAttr('disabled');
			app.closeWaiting()
			app.toast(data.msg)
		}
	}, function(err) {
		h('#saveBtn').removeAttr('disabled');
		h('#submitBtn').removeAttr('disabled');
		app.closeWaiting()
		app.toast(err)
	})
}

/**
 * 提交数据
 */
function submitCC() {
	ajaxGet(BASE_URL + 'cc/acceptance/report/acceptanceReportSubmit', {
		id: h('#id').val(),
		enginnerId: app.getUser().enginnerId
	}, function(data) {
		console.log(JSON.stringify(data))
		app.closeWaiting()
		if (data.code === 200) {
			app.toast("提交成功")
			var workReportList = plus.webview.getWebviewById('view/service/report/work/workReportList.html')
			if (workReportList) {
				workReportList.evalJS("initData()")
			}
			mui.back()
		} else {
			h('#saveBtn').removeAttr('disabled');
			h('#submitBtn').removeAttr('disabled');
			if (data.msg) {
				app.toast(data.msg)
			} else {
				app.toast()
			}
		}
	}, function(err) {
		h('#saveBtn').removeAttr('disabled');
		h('#submitBtn').removeAttr('disabled');
		app.closeWaiting()
		app.toast(err)
	})
}

/**
 * 查看验收报告详情
 * 
 * @param {Object} report_guid 报告id
 */
function viewAcceptance(report_guid) {
	noInteraction()
	app.showWaiting()
	ajaxGet(BASE_URL + 'cc/acceptance/report/detailAcceptanceReport', {
		id: report_guid
	}, function(data) {
		console.log(JSON.stringify(data))
		app.closeWaiting()
		if (data.code === 200) {
			h('#installStartTime').html(data.data.reportInfo.installStartTime)
			h('#installEndTime').html(data.data.reportInfo.installEndTime)
			h('#warrantyStartTime').html(data.data.reportInfo.warrantyStartTime)
			h('#warrantyEndTime').html(data.data.reportInfo.warrantyEndTime)
			h('#acceptanceTime').html(data.data.reportInfo.acceptanceTime)
			h('#computerMfr').val(data.data.reportInfo.computerMfr)
			h('#modelNumber').val(data.data.reportInfo.modelNumber)
			h('#serviceNumber').val(data.data.reportInfo.serviceNumber)
			h('#syssoft').val(data.data.reportInfo.syssoft)
			h('#software').val(data.data.reportInfo.software)
			h('#optionSoftware').val(data.data.reportInfo.optionSoftware)
			h('#serviceNo').val(data.data.serviceNo)
			h('#planId').val(data.data.planId)
			h('#noticeId').val(data.data.noticeId)
			h('#id').val(data.data.reportInfo.id)
			if (data.data.reportInfo.syncFlag === "1") {
				h('#btn').hide()
				h('#installStartTime').attr('disabled', 'disabled')
				h('#installEndTime').attr('disabled', 'disabled')
				h('#warrantyStartTime').attr('disabled', 'disabled')
				h('#warrantyEndTime').attr('disabled', 'disabled')
				h('#acceptanceTime').attr('disabled', 'disabled')
				h('#computerMfr').attr('readonly', 'readonly')
				h('#modelNumber').attr('readonly', 'readonly')
				h('#serviceNumber').attr('readonly', 'readonly')
				h('#syssoft').attr('readonly', 'readonly')
				h('#software').attr('readonly', 'readonly')
				h('#optionSoftware').attr('readonly', 'readonly')
			}
			h('.mui-content').show()
		} else {
			app.toast()
		}
	}, function(err) {
		app.closeWaiting()
		app.toast(err)
	})
}